package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.entity.AccountAuthentication;
import com.itheima.entity.CertificationInformation;
import com.itheima.entity.CertificationRules;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * CertificationInformation Mapper
 *
 * @author guanhuaer
 * @date 2025-04-26
 */
public interface CertificationInformationMapper {

    /**
     * 查询认证用户信息列表
     *
     * @param information 查询条件
     * @return 认证用户信息列表
     */
    Page<CertificationInformation> selectCertificationInformationList(CertificationInformation information);

    /**
     * 查询认证用户详情 by ID
     *
     * @param id 主键ID
     * @return 认证信息对象
     */
    CertificationInformation selectCertificationInformationById(Long id);

    /**
     * 插入认证用户信息
     *
     * @param information 认证用户信息
     * @return 影响行数
     */
    int insertCertificationInformation(CertificationInformation information);

    /**
     * 更新认证用户信息列表
     *
     * @param information 认证用户信息
     * @return 影响行数
     */
    int updateCertificationInformation(CertificationInformation information);

    /**
     * 删除认证用户信息 by ID
     *
     * @param id 主键ID
     * @return 影响行数
     */
    int deleteCertificationInformationById(@Param("id") Long id);

    /**
     * 批量删除认证用户信息 by IDs
     *
     * @param ids 主键ID列表
     * @return 影响行数
     */
    int deleteCertificationInformationByIds(@Param("ids") Long[] ids);

    List<CertificationInformation> selectuser();

    CertificationInformation selectInformationBySql(String sql, AccountAuthentication tion);
}
